import java.util.Arrays;

class ClassParameter<T>{
	public T[] f(T[] args){return args;}
}

class MethodParameter{
	public static <T> T[] f(T[] args){return  args;}
}
public class ParameterizedArrayType {
	public static void main(String[] args)
	{
		Integer[] ints = {1,2,3,4,5};
		Double[] doubles = {1.1,1.2,1.3,1.4,1.5};
		Integer[] ints2 =
				new ClassParameter<Integer>().f(ints);
		Double[] doubles2 =
				new ClassParameter<Double>().f(doubles);
		ints2 = MethodParameter.f(ints);
		doubles2 = MethodParameter.f(doubles);
		System.out.println(Arrays.toString(doubles2));
	}
}
